home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / dev / c / agl103p.lha / src / agl / agl.h < prev    next >
C/C++ Source or Header  |  1994-12-08  |  5KB  |  236 lines

  1. /******************************************************************************
  2.  
  3. Copyright © 1994 Jason Weber
  4. All Rights Reserved
  5.  
  6. $Id: agl.h,v 1.2.1.3 1994/12/09 05:27:24 jason Exp $
  7.  
  8. $Log: agl.h,v $
  9.  * Revision 1.2.1.3  1994/12/09  05:27:24  jason
  10.  * added globals for screen size
  11.  *
  12.  * Revision 1.2.1.2  1994/11/16  06:19:41  jason
  13.  * lots more globals
  14.  *
  15.  * Revision 1.2.1.1  1994/03/29  05:31:04  jason
  16.  * Added RCS Header
  17.  *
  18.  
  19. ******************************************************************************/
  20.  
  21.  
  22. #include<exec/types.h>
  23. #include<exec/memory.h>
  24. #include<devices/gameport.h>
  25. #include<intuition/intuitionbase.h>
  26. #include<graphics/gfxmacros.h>
  27.  
  28. #include<stdlib.h>
  29. #include<stdio.h>
  30. #include<string.h>
  31. #include<math.h>
  32.  
  33. #ifdef __SASC
  34. /* #include<functions.h> */
  35. #endif
  36.  
  37. #ifdef AZTEC_C
  38. #include<functions.h>
  39. #endif
  40.  
  41. #ifdef LATTICE
  42. #include<lattice_amiga.h>
  43. #define SEEK_CUR 1
  44. #endif
  45.  
  46. #include<gl.h>
  47. #include<device.h>
  48.  
  49. #define    PIE    3,14159265
  50. #define DEG .01745329    /* PIE/180.0 */
  51.  
  52. #define SCREENX        700     /* 720 */
  53. #define SCREENY        450     /* 450 */
  54. #define SCREENDEPTH    4       /* 4 */
  55.  
  56. /* 4Sight User's Guide says the default minumum size is 80x40 */
  57. #define MIN_WINX    80
  58. #define MIN_WINY    40
  59.  
  60. #define MICE        FALSE    /* TRUE = second mouse active */
  61.  
  62. #define MAX_WINDOWS 10
  63. #define MAX_DEVICE    600        /* theoretically 20000 */
  64. #define QUEUE_SIZE    101        /* according to GL manual */
  65.  
  66. #define    GL_POINT    1
  67. #define    GL_LINE        2
  68. #define    GL_POLYGON    3
  69.  
  70. #define    MAX_POLY_VERTS        255
  71.  
  72. /* extra colors (not official GL) */
  73. #define DARKGREY    8
  74. #define PINK        9 
  75. #define LIGHTGREEN  10
  76. #define OLIVE       11
  77. #define LAVENDER    12
  78. #define PURPLE      13
  79. #define BLUEGREEN   14
  80. #define LIGHTGREY   15
  81.  
  82. #define CBLACK          0x000
  83. #define CRED            0xF00
  84. #define CGREEN          0x0F0
  85. #define CYELLOW         0xFF0
  86. #define CBLUE           0x00F
  87. #define CMAGENTA        0xF0F
  88. #define CCYAN           0x0FF
  89. #define CWHITE          0xFFF
  90. #define CDARKGREY       0x555
  91. #define CPINK           0xC77
  92. #define CLIGHTGREEN     0x7C7
  93. #define COLIVE          0x883
  94. #define CLAVENDER       0x77C
  95. #define CPURPLE         0x838
  96. #define CBLUEGREEN      0x388
  97. #define CLIGHTGREY      0xAAA
  98.  
  99. #ifdef NOT_EXTERN
  100. #define extern
  101. #endif
  102.  
  103. extern USHORT ColorMap[16]
  104. #ifdef NOT_EXTERN
  105.     ={
  106.     CBLACK,
  107.     CRED,
  108.     CGREEN,
  109.     CYELLOW,
  110.     CBLUE,
  111.     CMAGENTA,
  112.     CCYAN,
  113.     CWHITE,
  114.     CDARKGREY,
  115.     CPINK,
  116.     CLIGHTGREEN,
  117.     COLIVE,
  118.     CLAVENDER,
  119.     CPURPLE,
  120.     CBLUEGREEN,
  121.     CLIGHTGREY,
  122.     }
  123. #endif
  124. ;
  125.  
  126. extern struct Device *ConsoleDev;
  127.  
  128. extern struct IOStdReq IOStandardRequest;
  129. extern struct GfxBase *GfxBase;
  130. extern struct IntuitionBase *IntuitionBase;
  131. extern struct IntuiMessage *Message;
  132.  
  133. extern struct ViewPort *GLView;
  134. extern struct Window *GLWindow[MAX_WINDOWS];
  135. extern struct Screen *GLScreen;
  136.  
  137. extern struct TextAttr StdFont
  138. #ifdef NOT_EXTERN
  139.     ={
  140.     "JXEN.font",
  141.     7,
  142.     FS_NORMAL,
  143.     0
  144.     }
  145. #endif
  146. ;
  147.  
  148. extern struct NewScreen ScreenDef
  149. #ifdef NOT_EXTERN
  150.     ={
  151.     0,0,
  152.     SCREENX,SCREENY,SCREENDEPTH,
  153.     BLACK,WHITE,
  154.     HIRES | LACE,
  155.     CUSTOMSCREEN,
  156.     &StdFont,
  157.     "Amiga GL v1.03  by Jason Weber",
  158.     NULL,
  159.     NULL,
  160.     }
  161. #endif
  162. ;
  163.  
  164. extern struct NewWindow NextWindow;
  165. extern struct NewWindow DefaultWindow
  166. #ifdef NOT_EXTERN
  167.     ={
  168.     100,100,
  169.     SCREENX-200,SCREENY-200,
  170.     (UBYTE)(-1),(UBYTE)(-1),
  171. /*     NEWSIZE | CLOSEWINDOW | REFRESHWINDOW | ACTIVEWINDOW | INACTIVEWINDOW | MOUSEBUTTONS | RAWKEY, */
  172.     NEWSIZE | REFRESHWINDOW | ACTIVEWINDOW | INACTIVEWINDOW | MOUSEBUTTONS | RAWKEY,
  173.     SIMPLE_REFRESH | RMBTRAP,
  174.     NULL,
  175.     NULL,
  176.     NULL,
  177.     NULL,
  178.     NULL,
  179.     MIN_WINX,MIN_WINY,
  180.     SCREENX-1,SCREENY-1,
  181.     CUSTOMSCREEN,
  182.     }
  183. #endif
  184. ;
  185.  
  186.  
  187. #ifdef NOT_EXTERN
  188.     extern short ScreenWidth=SCREENX;
  189.     extern short ScreenHeight=SCREENY;
  190.     extern short ScreenDeep=SCREENDEPTH;
  191. #else
  192.     extern short ScreenWidth;
  193.     extern short ScreenHeight;
  194.     extern short ScreenDeep;
  195. #endif
  196.  
  197.  
  198. extern unsigned short AreaBuffer[MAX_WINDOWS][MAX_POLY_VERTS*5/2];
  199. extern PLANEPTR TempBuffer[MAX_WINDOWS];
  200. extern struct TmpRas TempRaster[MAX_WINDOWS];
  201. extern struct AreaInfo AInfo[MAX_WINDOWS];
  202.  
  203. extern struct BitMap BackBitMap[MAX_WINDOWS];
  204. extern struct RastPort *VisibleRPort,*DrawRPort,BackRPort[MAX_WINDOWS];
  205. extern struct TextFont *FontPtr;
  206.  
  207. extern char TitleList[MAX_WINDOWS][100];
  208.  
  209. extern long CurrentPosX,CurrentPosY;
  210. extern long CurrentHeight,CurrentWidth;
  211. extern long CurrentColor;
  212. extern long Verts;
  213. extern long GLFocus;
  214. extern long CurrentWid;
  215.  
  216. extern short ViewPort[MAX_WINDOWS][4];
  217. extern short Clipped[MAX_WINDOWS];
  218. extern short Bordered[MAX_WINDOWS];
  219. extern short DoubleBuffered[MAX_WINDOWS];
  220. extern short DoubleBufferSet[MAX_WINDOWS];
  221. extern short Sizeable[MAX_WINDOWS];
  222. extern short RGBmodeOn[MAX_WINDOWS];
  223. extern short RGBmodeSet[MAX_WINDOWS];
  224. extern short OneToOne[MAX_WINDOWS];
  225. extern short Dimensions[MAX_WINDOWS];
  226. extern short RedoBorder[MAX_WINDOWS];
  227. extern short Maximization[MAX_WINDOWS][4];
  228.  
  229. extern short DrawType;
  230. extern short BgnLine;
  231. extern short BorderWidth,BorderHeight;
  232.  
  233. #undef extern
  234.  
  235. #include"prototypes.h"
  236.